package router // 路由配置包

import (
	"gin_im/middlewares"
	"gin_im/service"           // 导入服务层包
	"github.com/gin-gonic/gin" // 导入Gin框架包
)

// Router 初始化并返回Gin路由引擎
func Router() *gin.Engine {
	r := gin.Default() // 创建默认Gin路由引擎，包含Logger和Recovery中间件
	// 用户登录接口
	r.POST("/login", service.Login) // 定义登录接口：POST /login -> service.Login处理
	// 发送验证码
	r.POST("/send-code", service.SendCode)
	// 用户注册
	r.POST("/register", service.Register)

	// 创建需要认证的路由组
	auth := r.Group("/u", middlewares.AuthCheck())

	// 用户详情
	auth.GET("/user/detail", service.UserDetail)
	// 查询指定用户的个人信息
	auth.GET("/user/query", service.UserQuery)
	// 添加 好友用户
	auth.POST("/user/add", service.UserAdd)
	// 删除好友
	auth.POST("/user/delete", service.UserDelete)

	// 发送、接受消息
	auth.GET("/websocket/message", service.WebSocketMessage)
	// 聊天记录列表
	auth.GET("/chat/list", service.ChatList)

	return r // 返回配置好的路由引擎
}
